---------------------------------------------------------------------------------------------------
--Classroom
---------------------------------------------------------------------------------------------------
dream7start = gfxroom {
   enter        = music_("macros", 3)
  ,ontimer      = function(s)
                    if s._y == nil then
                      s._y = 70;
                    end
                    if s._x == nil then
                      s._x = 20;
                    end
                    local gfx = s:loadgfx("stripe");
                    sprite.copy(gfx, s._x, s._y, 800, 600, s.pic, 0, 0);
                    if s._x < 1000 then
                      s._x = s._x + 1;
                      if math.mod(s._x,2) == 0 then
                        s._y = s._y + 1;
                      end
                    else
                      if math.mod(s._frames,2) == 0 then
                        s._y = s._y + 1;
                      end
                    end
                  end
  ,stop         = 1200
  ,next         = chain_ {
                    take_("dream7_tablet"),
                    walk_("dream7")
                  }
  ,dispose      = chain_ {
                    nil_("_y"),
                    nil_("_x")
                  }
  ,rate         = 50
}

dream7 = scene {
   _read        = false
  ,kind_        = "classroom"
  ,classroom    = true
  ,obj          = {
                     "dream7_start"
                    ,"dream7_start2"
                    ,"dream7_itself"
                    ,"dream7_holo"
                    ,"dream7_lydia"
                    ,"dream7_victor"
                    ,"dream7_desk"
                    ,"dream7_door"
                    ,"dream7_tabletmode"
                    ,"dream7_document"
                    ,"dream6_tabletmessages1"
                    ,"cmn_pocket"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                  }
  ,Stand        = choose_ {
                     ["default"] = [[Нет, Соколовский может в любой момент прийти. Нет времени тут разгуливать.]]
                    ,["dream7_victor._talk==6"] =
                        chain_ {
                          mute_(0, 0),
                          drop_("dream7_tablet"),
                          take_("dream7_tablet2"),
                          walkfast2_("dream7neardoor_start")
                        }
                  }
  ,Exit         = redirect_("Stand")
  ,Refresh      = redirect_("Exam", "dream7_itself")
  ,Wait         = "Я только и делаю, что жду."
  ,ExamSelf     = [[Налюбоваться собой я ещё успею.]]
  ,TurnAround   = [[Позади меня дверь, выход в коридор.]]
}

dream7_start = rooms.event
  [[Занятие должно было начаться десять минут назад, однако Соколовского всё нет. Странно. Это совсем
    не похоже на старика. Я даже не могу вспомнить, опаздывал ли он хоть раз на свои уроки.^
    Аудитория заполнена. После того, как ввели новые правила учёта посещаемости, никто не отваживается
    прогуливать лекции. Впрочем, эти правила явно не касаются учителей.^
    Я осматриваюсь.^
    Опоздание Соколовского мало кого беспокоит. Проекторы работают -- их включили ещё до моего прихода, --
    и над лекторским подиумом переливается прозрачная голограмма планеты девятых. Мои соседи о чём-то
    вяло перешёптываются, листают электронные учебники или просто увлечённо изучают что-то в своих
    планшетах -- я почти уверен, что некоторые даже не заметили, что Соколовского до сих пор нет.^
    Виктор сидит рядом со мной и тоже сосредоточенно читает какой-то документ в своём наладоннике.
    Лиды до сих пор нет. Она опаздывает -- так же, как Соколовский.]]

dream7_start2 = rooms.dsc {
   cnd          = if_("dream7._read")
  ,dsc          = [[Кажется, я совсем забыл о времени, пока читал эту запрещёнку, которую Виктор нашёл
                    где-то в сети. Впрочем, документ меня не особенно впечатлил. Я уже не раз слышал
                    подобные "разоблачения" раньше.^
                    В аудитории по-прежнему тихо, никого не смущает отсутствие профессора.^
                    Виктор, наконец, отложил в сторону планшет и как-то обеспокоенно смотрит по сторонам.
                    Кажется, он хочет мне что-то сказать.]]
}

dream7_itself = item {
   nam          = _"аудитория"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Это одна из самых больших поточных аудиторий в нашем институте, здесь стоят два
                          десятка голографических проектов, да и мест должно хватать на пару курсов. Почему же
                          сегодня такой аншлаг? Впрочем, я не раз слышал, что на лекции Соколовского иногда ходят
                          с других подразделений. Но неужто и правда набралось столько желающих?]]
                    ,["dream7._read"] =
                        [[Все по-прежнему тихо сидят и возятся со своими планшетами, не слишком беспокоясь из-за
                          отсутствия Соколовского, хотя прошло уже довольно много времени.]]
                  }
  ,Listen       = [[В аудитории тихо, хотя профессор сильно опаздывает.]]
  ,Walk         = [[Хотя Соколовского всё ещё нет, разгулировать по аудитории мне совершенно не хочется. Я был здесь
                    уже множество раз.]]
  ,withThrow    = true
}:like(pRoom)

dream7_holo = item {
   nam          = _"голограмма"
  ,Exam         = [[KZ-17, о которой Соколовский рассказывает нам чуть ли не на каждой лекции. Вот только сейчас на
                    Землю она совершенно не похожа -- как и на обитаемую планету. Над аудиторией висит абсолютно
                    чёрный шар, верхняя кромка которого объята ярким слепящим светом. Восход над миром девятых.]]
  ,Approach     = [[Честно говоря, мне совершенно не хочется вставать с места.]]
  ,TurnOn       = [[Проектор и так работает.]]
  ,Open         = [[Я не очень понимаю, что тут можно открыть.]]
  ,TurnOff      = redirect_("Approach")
  ,Close        = [[Закрыть голограмму? Может быть, выключить? По правде сказать, мне совершенно нет дела до этой
                    голограммы.]]
  ,Wreck        = [[Да, от скуки и не такое придумаешь.]]
  ,Descend      = redirect_("Approach")
  ,articles     = {
                    ["Descend"] = "к"
                  }
}:like(pDevice)

dream7_door = item {
   nam          = name_ {
                     ["default"] = _"дверь|выход"
                    ,["Ascend"] = "дверь"
                    ,["Exit"] = "коридор"
                  }
  ,Exam         = [[Дверь из аудитории, на свободу.]]
  ,Open         = redirect_("Stand", "dream7")
  ,Close        = [[Дверь и так закрыта.]]
  ,Wreck        = [[Это не потребуется.]]
  ,Crack        = redirect_("Wreck")
  ,Ascend       = [[Трудно придумать что-то менее осмысленное, чем забираться на дверь в аудитории.]]
  ,Approach     = redirect_("Stand", "dream7")
  ,Exit         = redirect_("Stand", "dream7")
}:like(pDoor)

dream7_lydia = item {
   nam          = _"Лида"
  ,Think        = [[Она куда-то исчезла сразу после первой пары, сказала, что ей надо ненадолго отойти.
                    Я и понятия не имел, что она собирается прогулять лекцию.^
                    Позвонить ей?^
                    Я машинально открываю в планшете адресную книгу и смотрю на имя Лиды в списке контактов.]]
  ,articles     = {
                    ["Think"] = "о"
                  }
}

dream7_victor = item {
   _talk        = 0
  ,npc_         = "victor"
  ,nam          = _"Виктор"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Виктор что-то читает в планшете. Кажется, отсутствие Соколовского его нисколько не удивляет.]]
                    ,["dream7._read"] = [[Теперь-то он, наконец, стал обращать внимание на происходящее.]]
                  }
  ,Attack       = [[Ну да, отличный способ провести время перед началом лекции.]]
  ,Talk         = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Что читаешь? -- спрашиваю я.^
                            -- Да так... -- Виктор качает головой. -- Нашёл тут в сети один документик. Ну, знаешь, из тех,
                            что поудаляли из нашей библиотеки по двадцать второй...^
                            -- О! Запрещённая литература?^
                            -- Да... Ерунда одна. Было бы что запрещать.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- А скинь-ка файлик.^
                            -- Ты бы лучше по курсу литературу почитал, -- усмехается Виктор.^
                            -- Как скажешь, мама, -- говорю я. -- Слушаюсь.^
                            Виктор фыркает.^
                            -- Ладно, -- говорит он. -- Готов?^
                            -- Сейчас...^
                            Нужно включить в планшете режим передачи данных.]]
                        }
                    ,["s._talk==2 and not dream7_tablet._transfer"] =
                        [[-- Так как? -- нетерпеливо спрашивает Виктор. -- Можно скинуть уже?^
                          -- Сейчас, секундочку, -- отвечаю я.]]
                    ,["s._talk==2 and dream7_tablet._transfer"] = 
                        chain_ {
                          inc_("s._talk"),
                          [[-- Всё, давай, -- говорю я Виктору.^
                            Виктор проводит пальцем по своему планшету, документ сжимается, превращаясь в миниатюру, и стремительно
                            соскальзывает за острый край светящегося экрана. Через мгновение документ уже появляется на моём устройстве.^
                            -- Доволен? -- спрашивает Виктор. -- Только это... -- добавляет он секунду спустя. -- Всё же двадцать
                            вторая. Так что... -- и Виктор выразительно подносит указательный палец к губам.]]
                        }
                    ,["s._talk==3 and not dream7._read"] = 
                        [[-- А странно, что Соколовского до сих пор нет, -- говорю я.^
                          -- Ага, -- кивает Виктор. -- Такая потеря.]]
                    ,["s._talk==3 and dream7._read"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Да, а что-то наш профессор сегодня и правда задерживается, -- говорит Виктор.^
                            -- Проснулся, наконец! -- усмехаюсь я.^
                            -- Не, ну правда. Полчаса уже прошло. Я бы поставил на то, что он уже не придёт. Хотя по расписанию...
                            -- Виктор берёт планшет и открывает календарь, -- никаких изменений. Лекцию никто не отменял, указано, что
                            она типа идёт.^
                            Виктор усмехается и смотрит на меня.]]
                        }
                    ,["s._talk==4"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Предлагаешь смотаться отсюда? -- спрашиваю я.^
                            -- Ну, не знаю. Ещё сканы нас поймают, потом доказывай, что ты не прогульщик. У меня и так уже этих... 
                            накопилось.^
                            -- Честно говоря, достало так сидеть.^
                            Виктор несколько раз кивает головой.^
                            -- Мне вот, кстати, интересно... -- Виктор поворачивается и смотрит на дверь. -- Не вижу,
                            чтобы кто-нибудь выходил. Ну, понятно, мы с тобой птицы стреляные. Но чтобы ни у кого из всей этой
                            оравы до сих пор не лопнуло терпение?]]
                        }
                    ,["s._talk==5"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Да, и тихо так, -- соглашаюсь я. -- Все молчат. Как будто лекция уже идёт.^
                            -- Если бы Соколовский преподавал у нас философию, -- начинает Виктор, -- я бы вполне поверил в то, что
                            лекция действительно идёт. Такая особая философская лекция.^
                            Виктор откидывается на спинку стула и как-то зябко поводит плечами, точно потягиваясь спросони.^
                            -- Как там это было? -- говорит он. -- "Бытие и ничто"? Вот оказываешься ты в комнате, полной людей,
                            осматриваешься и понимаешь, что в комнате никого на самом деле нет. Потому что...^
                            "Потому что нет Лиды", -- думаю я.^
                            -- Потому что нет того, кто тебе нужен, -- продолжает Виктор. -- Ведь присутствие, как известно...^
                            -- Извини, -- перебиваю я Виктора. -- Мне надо выйти.]]
                        }
                    ,["s._talk==6"] = 
                          [[Я не хочу больше торчать в этой аудитории и болтать с Виктором о философии. Мне нужно поискать Лиду.]]
                  }
  ,Listen       = [[Виктор сидит, уставившись в планшет, и что-то тихо бормочет себе под нос.]]
  ,Think        = redirect_("Think", "victor")
}:like(pHuman)

dream7_desk = item {
   nam          = _"стол"
  ,Exam         = [[Обычная парта, такие стоят во всех аудиториях.]]
  ,Move         = [[Думаю, стол намертво привинчен к полу.]]
  ,Wreck        = [[Я вообще против вандализма.]]
  ,Open         = [[В парте нет отделений.]]
  ,Close        = [[Закрывать здесь нечего.]]
  ,Ascend       = [[Что-то мне не очень хочется забираться на стол.]]
  ,Approach     = [[Я и так сижу за столом.]]
  ,Lie          = redirect_("Ascend")
  ,Sit          = [[Я и так сижу за столом.]]
}:like(pTable)

dream7_tabletmode = item {
   nam          = _"режим передачи данных"
  ,TurnOn       = choose_ {
                     ["default"] =
                        chain_ {
                          set_("dream7_tablet._transfer"),
                          [[Я активирую на планшете режим передачи данных, и в правом уголке экрана загорается маленькая иконка в виде
                            расходящихся волн.]]
                        }
                    ,["dream7_tablet._transfer"] = [[Я уже активировал режим передачи данных.]]
                  }
  ,Activate     = redirect_("TurnOn")
  ,TurnOff      = choose_ {
                     ["default"] =
                        chain_ {
                          unset_("dream7_tablet._transfer"),
                          [[Я касаюсь пальцем иконки в виде расходящихся волн и выключаю режим передачи данных.]]
                        }
                    ,["not dream7_tablet._transfer"] = [[Режим передачи данных сейчас не включён.]]
                  }
  ,cnd          = if_("dream7_victor._talk==2")
}

dream6_tabletmessages1 = item {
   nam          = name_ {
                     ["default"] = _"сообщение в планшете"
                    ,["Read"] = _"сообщения в планшете"
                    ,["Check"] = _"сообщения в планшете"
                  }
  ,Read         = [[Нет, никаких писем или сообщений.]]
  ,Write        = redirect_("Call", "dream7_tablet")
  ,Check        = redirect_("Read")
}

dream7_tablet = item {
   _transfer    = false
  ,nam          = _"планшет"
  ,Take         = [[Я поднимаю планшет со стола, несколько секунд держу его в руках, а затем снова кладу на стол.]]
  ,Close        = [[Я уже начинаю убирать планшет со стола, как вдруг останавливаюсь и снова кладу его на стол.
                    Планшет мне ещё пригодится.]]
  ,Put          = use_ {
                     ["default"] = "Это плохая идея."
                    ,["dream7_desk"] = "Планшет и так лежит на столе."
                    ,["cmn_pocket"] = redirect_("Close")
                  }
  ,Throw        = use_ {
                     ["default"] = "Ну, уж нет! Планшет мне ещё пригодится."
                    ,["dream7_desk"] = redirect_("Put")
                    ,["cmn_pocket"] = redirect_("Close")
                    ,["dream7_victor"] = 
                        [[Ударить друга планшетом? Виктор, конечно, иногда меня порядочно достает, но всё же не до такой степени.
                          Да и планшет жалко.]]
                  }
  ,Call         = [[Я открываю приложение со списком контактов, смотрю несколько секунд на фотографию Лиды, но потом убираю
                    планшет.^
                    Она говорила, что не задержится. Мы не виделись всего полчаса. Не стоит быть слишком навязчивым.]]
  ,Wreck        = [[Не вижу смысла портить планшет.]]
  ,Move         = [[Я двигаю планшет по столу от скуки.]]
}:like(pTablet)

dream6_tabletmessages2 = item {
   nam          = name_ {
                     ["default"] = _"сообщение в планшете"
                    ,["Read"] = _"сообщения в планшете"
                    ,["Check"] = _"сообщения в планшете"
                  }
  ,Read         = choose_ {
                     ["default"] = [[Нет, никаких писем или сообщений.]]
                    ,["dream7_tablet2._msg"] = [[Лида мне так и не ответила. Странно. Может, она оставила где-нибудь свой планшет?]]
                  }
  ,Write        = choose_ {
                     ["default"] =
                        chain_ {
                          set_("dream7_tablet2._msg"),
                          [[Я открываю в планшете сервис мгновенных сообщений, нахожу в списке контактов Лиду и быстро набираю в
                            открывшемся окне:^
                            "Не забыла про лекцию? Кстати, Соколовского так и нет. Ты где? Я сейчас вышел."]]
                        }
                    ,["dream7_tablet2._msg"] = 
                        [[Я уже отправил ей сообщение. Если она не ответила, значит пока ещё его не получила. Может, она просто
                          оставила где-нибудь свой планшет.]]
                  }
  ,Check        = redirect_("Read")
}

dream7_tablet2 = item {
   _msg         = false
  ,nam          = _"планшет"
  ,Call         = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._msg"),
                          [[Я открываю карточку Лиды в адресной книге и набираю её номер. Через секунду на экране высвечивается:^
                            "Невозможно установить соединение с абонентом. Хотите отправить сообщение в режиме НЕ В СЕТИ?"^
                            Я быстро набираю в открывшемся окне:^
                            "Лида, где ты? Прогуливаешь лекцию?"]]
                        }
                    ,["s._msg"] =
                        [[Лида до сих пор не в сети, позвонить ей не получится. А мгновенное сообщение я ей уже отправлял.]]
                  }
}:like(pTablet)

dream7_document = item {
   nam          = _"документ"
  ,Read         = chain_ {
                    walk_("dream7_docpage1"),
                    drop_("dream7_tablet")
                  }
  ,Open         = redirect_("Read")
  ,Exam         = redirect_("Read")
  ,Look         = redirect_("Read")
  ,Check        = redirect_("Read")
  ,cnd          = if_("dream7_victor._talk > 2")
}


---------------------------------------------------------------------------------------------------
--Document
---------------------------------------------------------------------------------------------------
Verb { "DocRead", "~читать", "{}" }
Verb { "DocClose", "~закрыть", "{}" }
Verb { "DocNext", "~дальше", "{}" }

dream7_docmenu = rooms.dsc {
   dsc          = "^^" .. txtr("[Я могу продолжить <i>читать</i> или же <i>закрыть</i> документ.]")
}

dream7_docpage1 = scene {
   obj          = {
                     "dream7_docpage1_itself"
                    ,"dream7_docmenu"
                  }
  ,enter        = set_("dream7._read")
  ,Exit         = chain_ {
                    take_("dream7_tablet"),
                    walk_("dream7")
                  }
  ,DocRead      = walk_("dream7_docpage2")
  ,DocClose     = redirect_("Exit")
  ,DocNext      = redirect_("DocRead")
  ,norefresh    = true
}

dream7_docpage1_itself = rooms.dsc
  [[НЕОФИЦИАЛЬНАЯ ВЕРСИЯ СОБЫТИЙ В ДЕВЯТОЙ СИСТЕМЕ^^
    Данный документ основан на исследованиях, которые проводил не я лично, поэтому я не могу ни подтвердить, ни опровергнуть
    здесь написанное. Я поставил перед собой куда более простую задачу -- пересказать всё, что мне стало известно за последние
    несколько лет работы в архиве ---РАН и предоставить вам эти сведения на суд. Прошу также отнестись с пониманием к тому, что
    документ этот я не подписываю своим настоящим именем. Да, и совпадение моего новоявленного псевдонима с именем известного
    поп-певца является, конечно же, чистой воды случайностью.^^
    Итак, для начала напомню вам официальную версию. Жила-была девятая колония -- задворки нашей великой демократической империи,
    а заодно и крупный промышленный комплекс, который обеспечивал нас дешёвым оффшором, металлизированным пластиком, резиной, ну
    и высокотехнологичным оружием заодно. Однако, почти двести лет назад, случилось страшное -- по каким-то неведомым причинам
    сообщение с колонией оборвалось. Просто в один прекрасный день мы не смогли открыть туннель к девятой системе. Всё. Этакий
    природный феномен, неизвестное науке явление, а может, даже и вмешательство сил, существование которых наука наша уже не одно
    тысячелетие пытается опровергнуть?^^
    В общем, как бы то ни было, учёные принялись за работу и стали, не покладая рук и вкалывая сверхурочно, исследовать это странное
    явление, чтобы мы, так сказать, смогли вновь обрести нашу потерянную колонию. И, разумеется, им это удалось! Правда, исследования заняли
    более столетия, и никто в итоге так и не понял, что же на самом деле мешало нам открыть туннель к девятым раньше. 
    Официальная версия, впрочем, не дремлет и компетентно нам сообщает -- не могли, не получалось. А спустя сто двенадцать лет -- раз, и
    получилось. Технологии ли усовершенствовались, или же у загадочных сил, которые мешали нашим генераторам туннелей, истёк срок годности
    -- уже и не разберёшь. Да и какая по большому счёту разница? Ведь главное -- результат!^
 ]]

dream7_docpage2 = scene {
   obj          = {
                     "dream7_docpage2_itself"
                    ,"dream7_docmenu"
                  }
  ,Exit         = chain_ {
                    take_("dream7_tablet"),
                    walk_("dream7")
                  }
  ,DocRead      = walk_("dream7_docpage3")
  ,DocClose     = redirect_("Exit")
  ,DocNext      = redirect_("DocRead")
  ,norefresh    = true
}

 dream7_docpage2_itself = rooms.dsc
  [[Далее события, как вы знаете, развивались во вполне предсказуемом ключе. Раз туннель открыт -- значит нужно обязательно кого-нибудь
    по этому туннелю послать. И официальная версия гласит -- почётной миссии удостоился НИКМ "Одиссей-12", самый мирный, научный и 
    исследовательский корабль на свете. Ну, а кого ещё можно было послать? Более столетия неизвестная сила мешала нам открывать туннели.
    Очевидно ведь, что здесь абсолютно нет ни малейшего признака какой-либо опасности. Поэтому послать учёных -- самое верное решение.
    Ведь не зря им платят такие высокие зарплаты! А если с ними что-нибудь всё-таки случится -- ну что ж, невелика беда. У нас вон новое
    поколение на подходе, будут ближайшую сотню лет изучать, что же с их невезучими коллегами произошло.^^
    Впрочем, мы отвлеклись. Что там дальше говорит наша официальная версия? Ах, да. Через пять минут после входа в девятую систему "Одиссей-12"
    был уничтожен во время внезапной вражеской атаки, после чего в путь послали уже вояк, которых в свою очередь разгромили уже в течение
    где-то одной минуты. Заметьте иронию, кстати. Учёные продержались дольше. В общем, девятые продемонстрировали нам своё ужасающее
    техническое превосходство (в военном деле, заметьте, и это промышленная колония!), после чего вышли с нами связь и предъявили свой на
    редкость лояльный ультиматум, в котором по сути требовали только, чтобы мы не нарушали их суверенитет.^^
    Вот и всё. Официальная версия удаляется, похлопаем же на прощание ей ручками. С тех пор, кстати, прошло уже более шестидесяти лет, учёные
    вновь что-то кропотливо изучают, а ситуация с девятыми так и не меняется. Причём одни утверждают, что девятые периодически нападают на
    наши корабли, а официальная версия (да-да, она уже уходит) напирает на то, что это всё грязная ложь, и девятые после жестокой расправы
    с нашими кораблями ведут себя как мирные и добродушные соседи.^^
    А теперь, как всё было на самом деле. Ну, по мнению некоторых.^]]

dream7_docpage3 = scene {
   enter        = playonce_("spring",2)
  ,obj          = {
                     "dream7_docpage3_itself"
                    ,"dream7_docmenu"
                  }
  ,Exit         = chain_ {
                    take_("dream7_tablet"),
                    walk_("dream7")
                  }
  ,DocRead      = walk_("dream7_docpage4")
  ,DocClose     = redirect_("Exit")
  ,DocNext      = redirect_("DocRead")
  ,norefresh    = true
}

 dream7_docpage3_itself = rooms.dsc
  [[Откровение первое.^^
    Девятая система была не такой уж простой промышленной колонией. Нет, промышленность там, бесспорно, была, но далеко
    не только мирная. Считается (некоторыми неортодоксальными исследователями), что в девятой системе вели разработку новой системы вооружения,
    которая могла бы перевернуть все представления о военных действиях. Нет, нет, никаких термоядерных бомб, лазеров или фантастической тёмной
    материи -- ничего такого, о чём вы сейчас подумали. Всё намного интереснее -- и в то же время ужаснее. Работа велась над генератором
    особого луча (причем, с практически неограниченным радиусом действия), который выводил бы из строя всех операторов, подключенных к нейросети
    кораблей. Да, да, вы не ослышались. Выводил бы из строя самих <i>операторов</i>, т.е. людей, причем не просто жарил бы им мозги (это была первоначальная,
    так сказать, бета-версия), а мог бы, к примеру, заставить человека, управляющего системой наведения ядерных зарядов, дать залп по своим.^^
    Работа эта в той или иной степени увенчалась успехом -- по крайней мере некий прототип оружия нового поколения был создан, -- и далее следует
    откровение под номером два, туннели в девятую систему блокировали мы сами (ну, или девятые). Да, да, у нас есть такая технология. Причем не просто
    есть, а была ещё двести лет назад. Но не об этом сейчас речь. Зачем было отрубать колонию? Неофициальная версия гласит -- во время испытаний
    лучевая пушка дала сбой и за несколько минут вывела из строя все корабли, которые были на тот момент в системе. Отключить её при этом не было возможности.
    Пушку построили на спутнике KZ-17, весь персонал был мёртв, ну а на корабле к ней даже на парсек приблизиться не получалось. Вот и вышло,
    что за несколько минут девятая система полностью потеряла космическое пространство. Луч, генерируемый этой чудо-пушкой, был в невидимом спектре,
    причем никакими приборами не определялся, дискретность луча была высокая и, как с сомнением утверждает неофициальная версия, несколько тысяч
    раз в секунд пушка стреляла этим чудо-лучом с расходящимся радиусом по неизвестным координатам.^]]

dream7_docpage4 = scene {
   obj          = {
                     "dream7_docpage4_itself"
                    ,"dream7_docmenu"
                  }
  ,Exit         = chain_ {
                    take_("dream7_tablet"),
                    walk_("dream7")
                  }
  ,DocRead      = walk_("dream7_docpage5")
  ,DocClose     = redirect_("Exit")
  ,DocNext      = redirect_("DocRead")
  ,norefresh    = true
}

 dream7_docpage4_itself = rooms.dsc
  [[Энергопотребление у неё при этом было примерно, как у радиостанции, так что стрелять она могла долго -- лет десять, по предварительным прикидкам.^^
    Итак, решено было подождать, пока пушка отстреляется, и объявить на это время полный карантин. Решили, пожали друг другу руки и, разумеется, давай
    звонить в метрополию, чтобы отчитаться. А тут их, как вы догадываетесь, поджидал ещё один сюрприз. Оказалось, что лучи прекрасно проходят через
    туннели, и пока в девятой вели мирную беседу с Землёй, в солнечной системе случилась парочка нелицеприятных аварий. Земля дала приказ -- пушку
    уничтожить тактическими ракетами. Но потом вспомнила -- никаких ракет в девятой системе нет. Решили послать ракеты сами -- ведь десять лет ждать
    никому не хотелось, -- но тут уже вмешались девятые, резонно предположив, что бомбёжка спутника повлечет за собой
    не самые приятные последствия для самой KZ-17 (кстати, это только мы назваем её KZ-17, для самих девятых -- это Элерия, и очень похожа на Землю,
    кстати).^^
    Далее неофициальные версии расходятся, но наиболее популярный вариант -- восстание. Пока поставленные чинуши с Элерии говорили с Землёй (а в солнечной
    системе гибли от "несчастных случаев" корабли), произошёл переворот, чинуш, которые готовы были выполнить все приказы с Земли, сместили, а новоявленная
    власть объявила, что на Элерии живёт почти миллиард человек, бомбёжка спутника приведёт к необратимым последствиям, а Земля свои радикальные меры
    может засунуть в свою глубокую доисторическую задницу.^^
    Открытым остаётся только вопрос, кто на самом деле заблокировал туннель. Я бы всё-таки поставил на девятых, хотя меня и несколько удивляет, что у какой-то
    колонии были такие технологии. Впрочем, пушку-то они построили -- кто знает, какие ещё исследования там проводились. Есть, впрочем, и версия, что
    туннели заблокировали мы сами -- после того, как девятые пригрозили послать к нам в обмен на ракеты беспилотник с ещё одной лучевой пушкой. Но, как бы там
    ни было, туннель заблокировали и...^
  ]]

dream7_docpage5 = scene {
   obj          = {
                     "dream7_docpage5_itself"
                    ,"dream7_docmenu"
                  }
  ,Exit         = chain_ {
                    take_("dream7_tablet"),
                    walk_("dream7")
                  }
  ,DocRead      = walk_("dream7_docpage6")
  ,DocClose     = redirect_("Exit")
  ,DocNext      = redirect_("DocRead")
  ,norefresh    = true
}

dream7_docpage5_itself = rooms.dsc
  [[Не смогли потом открыть. Да, да, боюсь, что тут официальная и неофициальная версии неожиданным образом сходятся -- обе наивно верят в странные и
    непреодолимые силы, которые шестьдесят лет мешали нам связаться с колонией, а потом неведомым образом испарились. Впрочем, я тоже не смогу вам предложить
    что-то более убедительное, так что придётся вам довольствоваться таким объяснением. Туннель сломали, а починить не смогли.^^
    Прошло шестьдесят четыре года. Туннель восстановился, и радостные ученые... Нет, нет и ещё раз нет. Тут вас, уважаемые читатели, поджидает третье откровение.
    Печально известный "Одиссей-12" был на самом деле не НИКМ, как гласит официальная версия, а самым настоящим ВКМ, т.е. военным кораблём да ещё и с 
    ядерными ракетами. А дело было вот в чём. Туннель открыли, и первым делом, конечно же, не корабль послали, а установили голосовую связь, но, увы,
    слёз и радости от воссоединения не было. А что они хотели? Шестьдесят лет прошло, колония росла, развивалась независимо, стала сильным и агрессивным
    государством, наверняка даже свои учебники истории написала, в которой бывшая метрополия фигурировала не иначе как империя зла. В общем, заискивать
    перед нами девятые не стали. Помимо этого, оказалось, что чудо-пушку свою они давно довели до ума, а намерения у них не самые дружелюбные. И
    неудивительно! Ведь все официальные версии как минимум слегка преукрашивают (а как максимум -- просто врут), поэтому девятым инцидент с давнишней
    аварией представлялся этакой героической победой революционеров над тёмной империей, которая собиралась разнести к чертям их дом родной.^^
    Самое забавное тут в том, что нашему уважаемому руководству неожиданно понравилось ощущать себя в роли злодеев космического масштаба, и они решили
    подкрепить свой имидж, отправив в девятую систему новейший ВКМ для осуществления миротворческой миссии или, попросту говоря, подчинения отбившейся
    и зарвавшейся колонии, недоступность которой так болезненно ощущалась в нашей экономике. Корабль (как считалось) был надёжно защищен от каких-то там лучей
    многолетней давности.^]]

dream7_docpage6 = scene {
   obj          = {
                     "dream7_docpage6_itself"
                    ,"dream7_docmenu2"
                  }
  ,Exit         = chain_ {
                    take_("dream7_tablet"),
                    walk_("dream7")
                  }
  ,DocClose     = redirect_("Exit")
  ,norefresh    = true
}

dream7_docmenu2 = rooms.dsc {
   dsc          = "^^" .. txtr("[Я могу <i>закрыть</i> документ.]")
}

dream7_docpage6_itself = rooms.dsc
  [[В общем, наша страшная военная махина должна была как следует напугать этих деревенщин из девятой, и это у "Одиссея", бесспорно, бы получилось, если
    бы не одна маленькая проблемка. Долбанули-то по нему лучом далеко не многолетней давности, а самым что ни на есть современным, против которого у
    "Одиссея" никакой защиты не было.^^
    После гибели "Одиссея" метрополия не успокоилась и решила устроить блицкриг, понадеявшись на то, что система обороны у девятых недостаточно развита,
    чтобы противостоять целой армаде. Ну, и как вы понимаете, снова недооценила своего противника, потеряв при этом почти треть своих вооружённых сил. А
    что произошло дальше вы и сами знаете.^^
    Впрочем, у нас осталось ещё немного времени на самое последнее, но от того не менее интересное откровение. Помните те страшные истории, которыми родители
    пугают своих детей? Дескать, девятые иногда нападают на наши корабли да ещё захватывают в плен экипажи? Так вот, это правда. Одна из неофициальных
    версий утверждает, что по мнению девятых мы с ними вовсе не заключали мирный договор (который есть фикция и наглая ложь нашего правительства). Мы с
    девятыми уже более полувека находимся в состоянии войны. Нападать они на нас не собираются, так как смысла в подобной агрессии немного. Да и брать
    штурмом Землю с её десятью миллиардами -- такое, пожалуй, только в скверной фантастике увидишь. Однако любой наш корабль загорается на их радарах
    характерным таким красным огоньком, а капитаны их судов любят, как гласят неофициальные версии, поразмять свои лучевые пушки. Да и по поводу захвата
    в плен рассказывают, что это тоже не выдумки. Надо ведь им добывать подопытных для испытаний новой версии своего луча.^^
    Вот теперь точно всё. Откровения у меня закончились. Как ко всему этому относиться -- решайте сами. Скажу честно, что разоблачения эти тоже местами
    смехотворные, но зачастую они всё-таки куда убедительнее и логичнее, чем так называемая официальная версия. А значит наверняка в них есть доля правды.
    Да и учебники истории, как вы знаете, просто не могут не врать.]]


---------------------------------------------------------------------------------------------------
--dream7neardoor
---------------------------------------------------------------------------------------------------
dream7neardoor_start = gfxroom {
   enter        = music_("macros")
  ,ontimer      = function(s)
                    if s._x == nil then
                      s._x = -799;
                    end
                    local gfx = s:loadgfx("stripe");
                    local w = 800 - s._x;
                    if w > 800 or s._x > 0 then
                      w = 800;
                    end
                    sprite.copy(gfx, s._x, 170, w, 600, s.pic, 0, 0);
                    s._x = s._x + 3;
                  end
  ,stop         = 850
  ,next         = walk_("dream7neardoor")
  ,dispose      = nil_("_x")
  ,rate         = 50
}

dream7neardoor = scene {
   obj          = {
                     "dream7neardoor_itself"
                    ,"dream7neardoor_room"
                    ,"dream7neardoor_door"
                    ,"dream6_tabletmessages2"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                    ,"dream7_lydia"
                    ,"cmn_pocket"
                  }
  ,Return       = [[Нет, я не собираюсь больше сидеть и ждать Соколовского, который всё равно не придёт. Мне нужно найти Лиду.]]
  ,Refresh      = [[В пыльном воздухе медленно плывёт голограмма KZ-17. Все по-прежнему тихо сидят, уткнувшись в свои одинаковые планшеты.]]
  ,Wait         = redirect_("Return")
  ,Exit         = walk_("dream7coridor")
}

dream7neardoor_itself = rooms.dsc 
  [[Я поднимаюсь со стула и, не обращая внимания на удивлённый взгляд Виктора, подхожу к двери. Я немного медлю, оборачиваюсь и смотрю на
    заполненную аудиторию с пустым подиумом и голограмму KZ-17, которая медленно плывёт в пыльном воздухе над головами студентов. Все
    по-прежнему тихо сидят, уткнувшись в свои одинаковые планшеты.]]

dream7neardoor_room = item {
   nam          = _"аудитория"
  ,Exam         = [[Странный сегодня день. Как будто что-то пошло не так, сбилось с привычного ритма. И дело даже не в опоздании Соколовского.]]
  ,Listen       = [[В аудитории по-прежнему тихо -- лишь изредка раздаётся чей-то неуверенный шёпот, поскрипывание стульев, шуршание одежды,
                    усталый вздох, как будто незримый Соколовский и правда сейчас читает свою очередную лекцию.]]
  ,Descend      = redirect_("Return", "dream7neardoor")
  ,articles     = {
                    ["Descend"] = "в"
                  }
}:like(pBasic)

dream7neardoor_door = item {
   nam          = name_ {
                     ["default"] = _"дверь"
                    ,["Walk"] = _"коридор"
                    ,["Exit"] = _"коридор"
                  }
  ,Exam         = [[Обычная дверь, нечего её разглядывать. Я вроде бы решил уйти?]]
  ,Open         = chain_ {
                    walk_("dream7coridor"),
                    ""
                  }
  ,Close        = [[Зачем мне закрывать закрытую дверь?]]
  ,Approach     = [[Я уже стою у двери.]]
  ,Wreck        = [[Не думаю, что это хорошая мысль.]]
  ,Ascend       = redirect_("Wreck")
  ,Exit         = redirect_("Open")
  ,articles     = {
                     ["Walk"] = "в"
                    ,["Ascend"] = "на"
                  }
}:like(pDoor)


---------------------------------------------------------------------------------------------------
--dream7coridor
---------------------------------------------------------------------------------------------------
dream7coridor = scene {
   enter        = music_("oasis")
  ,obj          = {
                     "dream7coridor_start"
                    ,"dream7coridor_itself"
                    ,"dream7coridor_classroom"
                    ,"dream7coridor_window"
                    ,"dream7coridor_info"
                    ,"dream7coridor_walkleft"
                    ,"dream7coridor_walkright"
                    ,"dream6_tabletmessages2"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                    ,"dream7_lydia"
                    ,"cmn_pocket"
                  }
  ,Return       = redirect_("Open", "dream7coridor_classroom")
}

dream7coridor_start = rooms.event
  [[Я стою в коридоре рядом с аудиторией, где должна была проходить лекция Соколовского. Здесь никого нет -- после того, как в институте ужесточили
    правила, редкий студент отваживается прогуливать. Я и сам не понимаю, зачем вышел посреди урока. Наверняка у Лиды были свои причины, чтобы не прийти
    на лекцию. Однако просто сидеть и ждать я почему-то не могу.^^]]

dream7coridor_itself = rooms.dsc
  [[Передо мной -- дверь в поточную аудиторию. Слева от меня -- проход в восточное крыло, а справа -- лифтовая площадка.^
    У стены рядом с дверью в аудиторию подпирает потолок высокий информационный терминал -- в прошлом году его сменили, и теперь экран у него такой
    огромный, что с лёгкостью мог бы вместить имена всех учащихся.^
    В коридоре светло, хотя ни одна из ламп на потолке не горит. Сейчас полдень, солнце стоит в зените, и его свет заливает весь этаж через широкие,
    тянущиеся во всю стену окна.]]

dream7coridor_classroom = item {
   nam          = _"дверь в аудиторию"
  ,Exam         = [[Дверь в аудиторию, где Соколовский должен был вести свою лекцию.]]
  ,Open         = [[Нет, я не вернусь обратно, пока не найду Лиду.]]
  ,Enter        = redirect_("Open")
}:like(pDoor)

dream7coridor_window = item {
   nam          = _"окно"
  ,Exam         = [[Все остальные районы быстро меняются, я зачастую не узнаю улиц, где был до этого лишь несколько месяцев назад, однако институтский
                    городок застыл во времени. Точно такой же вид -- густые полоски лесопарков, высотные дороги, на которых никогда не бывает машин,
                    одинаковые кубические застройки -- я наблюдал несколько лет назад, когда впервые пришёл сдавать вступительные экзамены. Когда
                    ещё даже не знал Лиду.]]
  ,Open         = [[Сомневаюсь, что это окно вообще открывается.]]
  ,Close        = [[Окно закрыто.]]
  ,Wreck        = [[Если у меня и получится разбить это окно, боюсь, это станет моим последним деянием в институте.]]
  ,Approach     = [[Нет, не время заниматься этим. Я должен найти Лиду.]]
  ,Move         = [[Странные мысли приходят мне в голову.]]
  ,Ascend       = redirect_("Move")
}:like(pWindow)

dream7coridor_info = item {
   nam          = _"информационный терминал"
  ,Exam         = [[Я подхожу к терминалу и начинаю зачем-то просматривать список учащихся со своего курса. Странно, но Лиды в этом списке нет.
                    Может, это какая-нибудь ошибка? Глюк базы данных?]]
  ,Approach     = redirect_("Exam")
  ,Move         = [[Вряд ли у меня получится сдвинуть его хоть на миллиметр.]]
  ,Open         = [[Терминал не заблокирован. Любой учащийся может им воспользоваться.]]
  ,Wreck        = [[За такое меня выгонят из института.]]
  ,Ascend       = redirect_("Move", "dream7coridor_window")
}:like(pDevice)

dream7coridor_walkleft = item {
   nam          = _"налево"
  ,Walk         = "Нет, там мне делать нечего. Сомневаюсь, что я найду Лиду на этом этаже. Мне кажется, лучше спуститься вниз."
}

dream7coridor_walkright = item {
   nam          = _"направо"
  ,Walk         = walk_("dream7elevators1")
}


---------------------------------------------------------------------------------------------------
--dream7elevators1
---------------------------------------------------------------------------------------------------
dream7elevators1 = scene {
   obj          = {
                     "dream7elevators1_itself"
                    ,"dream7elevators1_lamp"
                    ,"dream7elevators1_tablo"
                    ,"dream7elevators1_elevators"
                    ,"dream7elevators1_square"
                    ,"dream7elevators1_sphere"
                    ,"dream6_tabletmessages2"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                    ,"dream7_lydia"
                    ,"cmn_pocket"
                  }
  ,Wait         = [[Наивно полагать, что Лида сама тут появится.]]
  ,Exit         = [[Возвращаться в общежитие пока рановато.]]
  ,Return       = redirect_("Open", "dream7coridor_classroom")
}

dream7elevators1_itself = rooms.dsc
  [[Я стою рядом с лифтами. Здесь уже не так светло, как рядом с поточными -- вся эта часть коридора ровно отчерчена угловатой тенью и словно отделена
    от остального этажа.^
    С потолка свисает круглая сферическая лампа, похожая на стеклянную модель газовой планеты. На узеньком табло на стене, где обычно суматошно
    мелькают разные рекламные объявления, горит странное кубическое изображение. У плотно сомкнутых алюминиевых дверей лифта поблёскивает
    большая круглая кнопка, а под ней ещё одна -- в форме квадрата.]]

dream7elevators1_lamp = item {
   nam          = _"лампа"
  ,Exam         = [[В нашем институте даже такие мелочи, как приборы освещения содержат в себе какую-нибудь многозначительную символику. Быть может, это
                    и правда символ планеты? Или звезды, которая освещает... Впрочем, нет. Сейчас у меня нет никакого желания думать об этом. Лучше
                    сосредоточиться на более важных вещах.]]
  ,Take         = [[Дело даже не в том, что я не смогу до неё дотянуться... Воровать в институте лампу? Всё-таки стипендия у меня не настолько маленькая.]]
  ,Move         = [[Не стоит заниматься ерундой.]]
  ,TurnOn       = [[Включателя света здесь нет. Думаю, свет загорается автоматически, когда срабатывают датчики. А сейчас здесь и так достаточно светло.]]
  ,Activate     = redirect_("TurnOn")
  ,TurnOff      = [[Лампа и так не горит.]]
  ,Approach     = [[Я и так стою под этой лампой.]]
  ,Wreck        = [[Я всё равно не смогу до неё дотянуться, да и разбивать лампы мне, по правде говоря, не очень хочется.]]
  ,Ascend       = [[Ну нет, я же не обезьяна.]]
}:like(pBuild)

dream7elevators1_tablo = item {
   nam          = _"табло"
  ,Exam         = [[На табло высвечивается изображение красноватой пугающей туманности, перекочевавшей сюда прямиком из фильма с космическими ужасами.
                    Прямо поверх струящихся потоков газа отображается абсолютно чёрный и плоский квадрат, а под ним ярко мелькает надпись -- "Новый туннель
                    Квадровского. Когда ты уже у цели".^Интересно, что всё это означает?]]
  ,Approach     = redirect_("Exam")
  ,TurnOn       = [[Табло и так работает.]]
  ,TurnOff      = [[Выключателя здесь нет. Да и зачем мне выключать его?]]
  ,Close        = redirect_("TurnOff")
  ,Open         = [[Это неинтерактивное информационное табло, здесь нет сенсорного экрана или каких-либо других органов управления. Оно просто показывает
                    рекламные объявления. По крайней мере, показывало раньше.]]
  ,Move         = [[Вряд ли я смогу это сделать.]]
  ,Wreck        = redirect_("Wreck", "dream7coridor_info")
  ,Ascend       = [[Странные мысли приходят мне в голову. Лучше бы я занялся поисками Лиды.]]
}:like(pDevice)

dream7elevators1_elevators = item {
   nam          = name_ {
                     ["default"] = _"двери лифта"
                    ,["Request"] = _"лифт"
                    ,["Enter"] = _"лифт"
                  }
  ,Exam         = [[Особо смотреть тут не на что. Обычные двери обычного лифта.]]
  ,Open         = [[Не думаю, что стоит открывать их вручную.]]
  ,Close        = [[Двери автоматические.]]
  ,TurnOn       = [[Всё и так работает.]]
  ,Activate     = redirect_("TurnOn")
  ,TurnOff      = [[Не представляю, как это можно сделать.]]
  ,Move         = redirect_("Open")
  ,Approach     = choose_ {
                     ["default"] = [[Я и так стою рядом с лифтом.]]
                    ,["dream7elevators1_sphere._press"] =
                        chain_ {
                          hideinput,
                          walkfast2_("dream7cabintrans")
                        }
                  }
  ,Request      = choose_ {
                     ["default"] = [[Надо нажать на одну из кнопок на панели.]]
                    ,["dream7elevators1_sphere._press"] = [[Лифт уже на этаже.]]
                  }
  ,Enter        = choose_ {
                     ["default"] = [[Лифт сначала нужно вызвать.]]
                    ,["dream7elevators1_sphere._press"] =
                        chain_ {
                          hideinput,
                          walkfast2_("dream7cabintrans")
                        }
                  }
  ,Ascend       = [[Не представляю, как это можно сделать.]]
  ,articles     = {
                    ["Enter"] = "в"
                  }
}:like(pBuild)

dream7elevators1_square = item {
   _press       = false
  ,nam          = _"квадратная кнопка"
  ,Exam         = [[Кнопка в форме квадрата. Больше ничего и не скажешь.]]
  ,Press        = choose_ {
                     ["default"] = 
                        [[Я нажимаю на квадратную кнопку, она на мгновение загорается тусклым жёлтым светом и тут же гаснет. Ничего не происходит.]]
                    ,["dream7elevators1_sphere._press"] = "Лифт уже на этаже."
                  }
  ,Wreck        = [[Зачем мне выламывать кнопку?]]
  ,Take         = redirect_("Wreck")
  ,articles     = {
                    ["Press"] = "на"
                  }
}

dream7elevators1_sphere = item {
   _press       = false
  ,nam          = _"круглая кнопка"
  ,Exam         = [[Думаю, стоит просто нажать на эту кнопку, вместо того, чтобы её рассматривать.]]
  ,Press        = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._press"),
                          [[Я нажимаю на круглую кнопку, и тут же двери лифта с мягким шипением открываются. Оказывается, лифт уже стоял на этом
                            этаже.]]
                        }
                    ,["s._press"] = "Лифт уже на этаже."
                  }
  ,Wreck        = redirect_("Wreck", "dream7elevators1_square")
  ,Take         = redirect_("Take", "dream7elevators1_square")
  ,articles     = {
                    ["Press"] = "на"
                  }
}


---------------------------------------------------------------------------------------------------
--dream7elevators1
---------------------------------------------------------------------------------------------------
dream7cabintrans = pause {
   enter        = sound_("click")
  ,pic          = "circle"
  ,time         = 500
  ,next         = walk_("dream7cabin")
}

dream7cabin = scene {
   enter        = chain_ {
                    light_(true),
                    showinput,
                    playonce_("droplet2")
                  }
  ,obj          = {
                     "dream7cabin_start"
                    ,"dream7cabin_eyes"
                    ,"dream7cabin_doors"
                    ,"dream7cabin_floor"
                    ,"dream7cabin_ceil"
                    ,"dream7cabin_sphere"
                    ,"dream7cabin_square"
                    ,"dream7cabin_triangle"
                    ,"dream6_tabletmessages2"
                    ,"dream7_lydia"
                    ,"cmn_pocket"
                  }
  ,Return       = "Я не могу выйти из лифта!"
  ,Wait         = "Вряд ли лифт поедет сам."
  ,Refresh      = [[Я стою в узкой кабинке лифта, прикрывая рукой глаза от яркого света.]]
}

dream7cabin_start = rooms.event
  [[Как только я захожу в лифт, закрываются двери, и загорается яркий обжигающий свет. Я едва могу различить на стене пульт с огромными кнопками --
    в форме квадрата, круга и треугольника.]]

dream7cabin_eyes = item {
   nam          = _"глаза"
  ,Close        = [[Но тогда я не увижу пульт с кнопками.]]
}

dream7cabin_doors = item {
   nam          = name_ {
                     ["default"] = _"двери"
                    ,["Exit"] = _"лифт"
                  }
  ,Exam         = [[Двери плотно закрыты, открыть их руками не получится.]]
  ,Open         = redirect_("Exam")
  ,Move         = redirect_("Exam")
  ,Wreck        = [[Не думаю, что это хорошая идея.]]
  ,Crack        = [[Сомневаюсь, что у меня хоть что-нибудь получится.]]
  ,Approach     = [[Я и так стою напротив дверей.]]
  ,Ascend       = [[Это мне никак не поможет.]]
  ,Exit         = redirect_("Exam")
  ,articles     = {
                    ["Exit"] = "из"
                  }
}:like(pBuild)

dream7cabin_floor = from_("cmn_floor") {
   nam          = _"пол"
  ,Exam         = [[Я почти ничего не могу разглядеть.]]
}:like(pBuild)

dream7cabin_ceil = item {
   nam          = _"потолок"
  ,Exam         = [[Я едва вижу, но, кажется, на потолке нет люка. Выбраться из кабины не получится. Да я и не представляю, что буду
                    делать в лифтовой шахте.]]
}:like(pBuild)

dream7cabin_sphere = item {
   nam          = _"круглая кнопка"
  ,Exam         = "Смотреть тут не на что. К тому же я почти ничего не вижу из-за этого яркого света."
  ,Press        = choose_ {
                     ["default"] = "Я нажимаю на кнопку, но ничего не происходит."
                    ,["dream7cabin_triangle._press"] =
                        chain_ {
                          unset_("dream7cabin_triangle._press"),
                          hideinput,
                          walkfast2_("dream7cabintrans3")
                        }
                  }
  ,Wreck        = redirect_("Wreck", "dream7elevators1_square")
  ,Take         = redirect_("Take", "dream7elevators1_square")
  ,articles     = {
                    ["Press"] = "на"
                  }
}

dream7cabin_square = item {
   nam          = _"квадратная кнопка"
  ,Exam         = redirect_("Exam", "dream7cabin_sphere")
  ,Press        = choose_ {
                     ["default"] = redirect_("Press", "dream7cabin_sphere")
                    ,["dream7cabin_triangle._press"] =
                        chain_ {
                          light_(false),
                          walk_("dream7halltrans")
                        }
                  }
  ,Wreck        = redirect_("Wreck", "dream7elevators1_square")
  ,Take         = redirect_("Take", "dream7elevators1_square")
  ,articles     = {
                    ["Press"] = "на"
                  }
}

dream7cabin_triangle = item {
   _press       = false
  ,nam          = _"треугольная кнопка"
  ,Exam         = redirect_("Exam", "dream7cabin_sphere")
  ,Press        = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._press"),
                          hideinput,
                          walkfast2_("dream7cabintrans2")
                        }
                    ,["s._press"] = "Никакого эффекта."
                  }
  ,Wreck        = redirect_("Wreck", "dream7elevators1_square")
  ,Take         = redirect_("Take", "dream7elevators1_square")
  ,articles     = {
                    ["Press"] = "на"
                  }
}

dream7cabintrans2 = pause {
   enter        = sound_("click")
  ,pic          = "triangle"
  ,time         = 500
  ,next         = chain_ {
                    showinput,
                    walk_("dream7cabin2")
                  }
}

dream7cabin2 = scene {
   obj          = {
                     "dream7cabin2_start"
                    ,"dream7cabin_eyes"
                    ,"dream7cabin_doors"
                    ,"dream7cabin_floor"
                    ,"dream7cabin_ceil"
                    ,"dream7cabin_sphere"
                    ,"dream7cabin_square"
                    ,"dream7cabin_triangle"
                    ,"dream7_lydia"
                    ,"dream6_tabletmessages2"
                    ,"cmn_pocket"
                  }
  ,Return       = redirect_("Return", "dream7cabin")
  ,Wait         = [[Двери сами не откроются.]]
  ,Refresh      = redirect_("Refresh", "dream7cabin")
}

dream7cabin2_start = rooms.dsc
  [[Я нажимаю на треугольную кнопку, кабина лифта вздрагивает и начинает спускаться вниз. Кажется, лифт несётся с
    огромной скоростью, я прижимаюсь к стене спиной, чтобы не упасть, чувствуя, как телу моему передаётся судорожная
    вибрация маленькой кабины.^
    Через несколько секунд лифт останавливается с резким толчком, однако двери не открываются.]]

dream7cabintrans3 = pause {
   enter        = sound_("click")
  ,pic          = "circle"
  ,time         = 500
  ,next         = chain_ {
                    showinput,
                    walk_("dream7cabin3")
                  }
}

dream7cabin3 = scene {
   obj          = {
                     "dream7cabin3_start"
                    ,"dream7cabin_eyes"
                    ,"dream7cabin_doors"
                    ,"dream7cabin_floor"
                    ,"dream7cabin_ceil"
                    ,"dream7cabin_sphere"
                    ,"dream7cabin_square"
                    ,"dream7cabin_triangle"
                    ,"dream7_lydia"
                    ,"dream6_tabletmessages2"
                    ,"cmn_pocket"
                  }
  ,Return       = redirect_("Return", "dream7cabin")
  ,Wait         = [[Двери сами не откроются.]]
  ,Refresh      = redirect_("Refresh", "dream7cabin")
}

dream7cabin3_start = rooms.dsc
  [[После некоторых колебаний я нажимаю на круглую кнопку. Кабина тут же начинает дрожать, и через мгновение меня словно
    вжимает в пол -- лифт вновь поднимается на верхний этаж. Тряска стоит такая, что я едва удерживаюсь на ногах.
    Наконец, лифт останавливается. Судя по всему, я опять вернулся наверх.]]



---------------------------------------------------------------------------------------------------
--dream7hall
---------------------------------------------------------------------------------------------------
dream7halltrans = pause {
   enter        = sound_("click")
  ,pic          = "box"
  ,time         = 500
  ,next         = walk_("dream7hall")
}

dream7hall = scene {
   enter        = timer_(3000)
  ,obj          = {
                     "dream7hall_start"
                    ,"dream7hall_itself"
                    ,"dream7hall_elevator"
                    ,"dream7hall_exit"
                    ,"dream7hall_terminal"
                    ,"dream7hall_girl"
                    ,"dream7hall_anna"
                    ,"dream6_tabletmessages2"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                    ,"dream7_lydia"
                    ,"cmn_pocket"
                  }
  ,Return       = [[Сейчас уже бессмысленно возвращаться.]]
  ,Wait         = [[Я, конечно, мог бы подождать Лиду здесь, но лучше я сам поищу её.]]
  ,Exit         = redirect_("Walk", "dream7hall_exit")
  ,timer        = chain_ {
                    timerstop,
                    music_("horn")
                  }
}

dream7hall_start = rooms.event
  [[Я нажимаю на квадратную кнопку, двери кабины открываются, и я тут же выскакиваю наружу.^^]]

dream7hall_itself = rooms.dsc
  [[Я стою в холле на первом этаже. Позади меня -- лифт, двери которого закрылись сразу же после того, как я выбежал из кабины.
    В холле светло и даже немного прохладно, хотя сейчас самый разгар лета. Слева от меня -- выход из здания, а справа -- широкий
    информационный терминал, такой же, как и на верхних этажах.^
    Рядом с терминалом стоит невысокая девушка в джинсовом костюме.]]

dream7hall_elevator = item {
   nam          = _"лифт"
  ,Exam         = [[Нет уж, достаточно с меня поездок на лифте.]]
  ,Open         = redirect_("Exam")
  ,Approach     = redirect_("Exam")
  ,Enter        = redirect_("Exam")
  ,Wreck        = [[Да, я сегодня явно не в себе.]]
  ,Close        = [[Двери автоматические.]]
  ,TurnOn       = [[Всё и так работает.]]
  ,Activate     = redirect_("TurnOn")
  ,TurnOff      = [[Не представляю, как это можно сделать.]]
  ,Move         = redirect_("Open")
  ,Ascend       = redirect_("TurnOff")
  ,articles     = {
                    ["Enter"] = "в"
                  }
}:like(pBuild)

dream7hall_exit = item {
   nam          = name_ {
                     ["default"] = _"выход"
                    ,["Exit"] = _"здание"
                  }
  ,Exam         = [[Широкие двери, которые открываются автоматически, едва ты заходишь в зону действия их сенсоров. Можно подумать, что они сами коварно
                    приглашают тебя выйти наружу, в красивый ухоженный парк, посреди которого стоит здание института.]]
  ,Approach     = choose_ {
                     ["default"] = 
                        [[Я боюсь, что, если выйду из здания, то могу с легкостью разминуться с Лидой. Может, поспрашивать о ней кого-нибудь для
                          начала? Та девушка у терминала кажется мне знакомой.]]
                    ,["dream7hall_girl._exam"] =
                        [[Наверное, стоит сначала поговорить с Анной. Наверняка она знает, где Лида. Если я выйду из здания, то мы с Лидой вполне можем
                          разминуться.]]
                  }
  ,Open         = [[Двери открываются и закрываются автоматически.]]
  ,Close        = redirect_("Open")
  ,Wreck        = [[Зачем это делать? Выход открыт.]]
  ,Crack        = redirect_("Wreck")
  ,Ascend       = [[Уверен, я смогу придумать что-нибудь получше.]]
  ,Exit         = redirect_("Approach")
  ,articles     = {
                    ["Exit"] = "из"
                  }
}:like(pBuild)

dream7hall_terminal = from_("dream7coridor_info") {
   nam          = _"информационный терминал"
  ,Exam         = [[Такой же терминал стоит на всех этажах. Сейчас мне там ничего не нужно. К тому же терминал занят.]]
  ,Approach     = redirect_("Exam")
}

dream7hall_girl = item {
   _exam        = false
  ,nam          = _"девушка"
  ,Exam         = chain_ {
                    set_("s._exam"),
                    [[Кажется, это Анна, подруга Лиды. Вот так повезло! Отношения у нас, конечно, не очень -- я как-то сразу не понравился Анне,
                      хотя, надо признать, это у нас взаимно, -- но, по крайней мере, мы всегда здороваемся. К тому же,
                      если кто-то и знает, где сейчас Лида, то это наверняка её лучшая подруга.]]
                  }
  ,Talk         = [[Интересно, кто это? Кажется, я уже видел её раньше. Надо бы подойти поближе.]]
  ,Approach     = redirect_("Exam")
  ,Think        = choose_ {
                     ["default"] = [[Мне кажется, я её знаю.]]
                    ,["s._exam"] = redirect_("Think", "dream3_anna")
                  }
  ,Attack       = [[Подобное поведение до добра не доведёт.]]
  ,cnd          = not_("s._exam")
}:like(pHuman)

dream7hall_anna = item {
   _talk        = 0
  ,npc_         = "anna"
  ,nam          = _"Анна"
  ,Exam         = [[Анна в своём привычном амплуа -- на ней поношенный джинсовый костюм, а волосы затянуты в плотный пучок на затылке, как будто
                    она нарочно хочет, чтобы её издали принимали за парня.]]
  ,Talk         = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[Я подхожу к Анне. Она делает вид, что не замечает меня, быстро проматывая пальцем раписание лекций на экране.^
                            -- Привет, -- говорю я и улыбаюсь, хотя Анна даже не смотрит в мою сторону.^
                            -- Привет-привет, -- отвечает она. -- Что, на лекции никак не сидится?^
                            -- Ну, я не один такой.^
                            Анна открывает на терминале свою личную карточку.^
                            -- У меня освобождение на сегодня, -- отвечает она.^
                            -- А Соколовский всё равно не пришёл, -- говорю я. -- Все так до сих пор и сидят, ждут его.^
                            -- Да? -- Анна, наконец, поворачивается ко мне. -- Совсем не похоже на него.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Да уж, -- киваю я. -- В первый раз на моей памяти такое. Хотя ему часто нездоровилось последнее время. Может, приболел.^
                            -- Ну, да. Может.^
                            -- Я что тебя хотел спросить-то... -- начинаю я. -- Мы тут с Лидой... разминулись. Она говорила, что на лекцию опоздает,
                            но так до сих пор не пришла. Ты её не видела случайно?^
                            -- Кого? -- Анна смотрит на меня непонимающим взглядом.^
                            -- Лиду. Ты, может, видела её?^
                            -- Какую Лиду? -- фыркает Анна. -- Я-то здесь причем?]]
                        }
                    ,["s._talk==2"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Я что-то не понимаю, -- говорю я. -- Вы с ней поссорились что ли?^
                            -- Да не знаю я никакую Лиду! С чего ты взял, что я должна её знать?^
                            -- Очень смешно, -- говорю я и отворачиваюсь.^
                            Вот уж не ожидал от этой стервы такой выходки. Надо будет рассказать об этом Лиде, когда я её найду.^
                            -- Ладно, -- говорит Анна.^
                            Голос её теперь звучит по-другому, спокойнее и мягче.^
                            -- Если ты считаешь, что это необходимо, то... Решать в любом случае тебе. Но это большой риск.]]
                        }
                    ,["s._talk==3"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Что? -- не понимаю я. -- О чём ты вообще говоришь?^
                            -- Вся работа, которую мы провели, -- говорит Анна, -- всё это... может быть потеряно. Я не знаю, готов ли он.^
                            -- О чём ты? Кто готов?^
                            -- Может, нам стоит провести ещё один цикл тестирования? Я понимаю, конечно, это ничего кардинально не
                            изменит, но...^
                            -- Анна! -- почти выкрикиваю я. -- Что с тобой? Ты с кем вообще говоришь?^
                            -- Посмотри на него, -- вздыхает Анна. -- Он ведь просто не выдержит.]]
                        }
                    ,["s._talk==4"] =
                        chain_ {
                          light_(false),
                          drop_("dream7_tablet2"),
                          walk_("cell9start1")
                        }
                  }
  ,Approach     = choose_ {
                     ["default"] = redirect_("Talk")
                    ,["s._talk>0"] = "Я и так стою рядом с Анной."
                  }
  ,Throw        = [[Мы, конечно, не очень симпатизируем друг другу, но всё же это перебор.]]
  ,Think        = redirect_("Think", "dream3_anna")
  ,Attack       = redirect_("Attack", "dream7hall_girl")
  ,articles     = {
                    ["Think"] = "об"
                  }
  ,cnd          = if_("dream7hall_girl._exam")
}:like(pHuman)
